1. Field of the Invention
The present invention pertains to video compression and decompression, and, more particularly, to a technique for mitigating edge xe2x80x9cedge effectsxe2x80x9d in decompressing video data.
2. Description of the Related Art
In watching a video, the viewer is actually seeing a series of video images, or xe2x80x9cframes,xe2x80x9d displayed in rapid succession. How rapid depends largely on geographic location because different locations use different standards with different numbers. In the United States, successive video images are displayed at a rate of 60 images per second. Each frame typically differs from the one before and the one after only very slightly. Thus, when the series is displayed rapidly enough, it creates the illusion of continued movement.
Each video image, however, contains a relatively large amount of information. This has caused problems with the advent of digital video systems. The digital video system breaks the image into pieces (called xe2x80x9cpixelsxe2x80x9d, or xe2x80x9cpicture elementsxe2x80x9d), transmits them, reassembles the pieces and displays the transmitted image. However, the amount of information that must be handled in the given time quickly overwhelms most digital electronics. Most digital electronics systems will take too long so that the successive images cannot be displayed quickly enough to create the illusion of continued motion. If the work is an audiovisual work so that it includes sound as well as imagery, the problem becomes particularly acute.
One solution employs video compression/decompression (xe2x80x9ccodecxe2x80x9d) techniques. There are xe2x80x9clossyxe2x80x9d and xe2x80x9cnon-lossyxe2x80x9d codec techniques. A lossy technique xe2x80x9closesxe2x80x9d some information in the process of compressing and decompressing the information. For instance, lossy codec techniques take advantage of the fact that successive images will usually differ very little. Codec techniques quickly compare a frame with the frame image and then transmit only the differences instead of all the information. Standards setting bodies have defined standards for various codec techniques, but there are also many non-standard techniques. Each has advantages and disadvantages that impact performance differently.
One common problem with codec techniques are xe2x80x9cedge effects.xe2x80x9d Technically, edge effects result in decompression from the quantization of what are known as the xe2x80x9cdiscrete cosine-transformationxe2x80x9d (xe2x80x9cDCTxe2x80x9d) coefficients during compression. Referring now to FIG. 1, the video frame 100 is broken into a number of pixels 105. Pixels are usually handled in square blocks, such as the blocks 110. Each block 110 is defined by two horizontal edges and two vertical edges 115, 120 that will suffer from edge effects. More precisely, the pixels 105 lining the horizontal and vertical edges 115, 120 will suffer from xe2x80x9cedge effects.xe2x80x9d Note that the number of pixels 105 and blocks 110 of pixels 105 are illustrative only, and are not intended to reflect the application of any particular standard.
Edge effects are mitigated by filtering the pixels 105 lining the horizontal and vertical edges 115, 120. xe2x80x9cHorizontalxe2x80x9d filters are applied to the horizontal edges 115 and xe2x80x9cverticalxe2x80x9d filters are applied to the vertical edges 120. Because of the way the data is organized when the information is stored to memory, the computation for the horizontal edges is manipulated to xe2x80x9cparallelize.xe2x80x9d Parallelizing the computation is desirable because it decreases the time necessary to perform the computation. However, the data organization makes the vertical computation difficult to parallelize. Depending on the length of the filters employed, what requires a single memory access in the horizontal computation might take as many as four memory accesses in the vertical computation.
The present invention is directed to resolving, or at least reducing, one or all of the problems mentioned above.
The invention, in a first aspect, is a method for mitigating edge effects in a decompressed video image. The method comprises first reads an Nxc3x97N group of pixels defining a vertical edge between two blocks in a video frame row by row into N registers, wherein N is a predetermined number defining the length of a filter. The content of the N registers is then transposed and then filtered in the filter. The filtered content of the N registers is then transposed and stored back from where it was read. In other aspects, the invention is a program storage device encoded with instructions that, when executed by a computer, perform such a method; a computer programmed to perform such a method; and a computing system capable of performing such a method.